<script setup>
// 使用 script setup 设置来定义组件 props
defineProps({
  title: {
    required: true, // 标题是必需的属性
    type: String // 属性类型为字符串
  }
})
</script>

<template>
  <el-card class="page-container">
    <!-- 使用 slot 来插入自定义的头部内容 -->
    <template #header>
      <div class="header">
        <!-- 显示标题属性的内容 -->
        <span>{{ title }}</span>
        <div class="extra">
          <!-- 插入额外的 slot 内容 -->
          <slot name="extra"></slot>
        </div>
      </div>
    </template>
    <!-- 默认 slot 用于插入主要内容 -->
    <slot></slot>
  </el-card>
</template>

<style lang="scss" scoped>
.page-container {
  min-height: 100%;
  box-sizing: border-box;
  .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
</style>
